MapSnapshotter PRO
MapSnapshotter 通过 MapKit 在后台离屏渲染一张静态地图图片。适合不能用 <Map>
SwiftUI 视图的场景:widget 预览、分享缩略图、导出报告等。
take — 渲染快照
Options
MapSnapshot
叠加坐标
point 是给在图上画 pin / 标签用的:
操作 UIImage
snap.image 是普通的 UIImage 实例,所有现有 helper 都能用 — 比如分享前先缩小:
叠加层与标注
传 overlays 和 annotations,就能把地理内容直接烘焙进图片 — 不用手算坐标、也不用叠额外的
<Image>。这是把路线变成图片的最简方式。
当你同时省略 region 和 camera 时,快照会自动取景框住所有 overlay 和 annotation,
于是路线转图片变成一行:
叠加层(overlays)
每个 overlay 是三种形状之一。颜色接受任意 Color 字符串("#RRGGBB"、"rgb(...)"、
"systemBlue" 等)。
标注(annotations)
标注是一个尖端指向 coordinate 的 pin。可选加 glyph(SF Symbol 名,或最多两个字符的文字)
和 title 文字标签。
overlay 和 annotation 都在底图之后按数组顺序绘制,annotation 永远在最上层。投影落在画面外的内容会被裁掉。
注意事项
- 1024×768 retina 截图原图 PNG 可达几 MB;只做预览用的话先
preparingThumbnail再持久化。 - Apple 大部分设备
scale上限为 3x,更高的值会被静默 clamp。 - 走 Apple 地图瓦片服务;失败时 Promise 以错误描述 reject。
